import store from '@/store'
import { Toast } from 'vant'

function judgeEnvironment() {
  if (/MicroMessenger/.test(window.navigator.userAgent)) {
    store.dispatch('public/setENV', 'WX')
    console.log('微信客户端')
    return 'WX'
  } else if (/AlipayClient/.test(window.navigator.userAgent)) {
    store.dispatch('public/setENV', 'ZFB')
    console.log('支付宝客户端')
    return 'ZFB'
  } else {
    store.dispatch('public/setENV', 'OTHER')
    console.log('其他浏览器')
  }
}
function getUrl() {
  const url = window.location.href
  var params = []
  var h
  var hash = url.slice(url.indexOf('?') + 1).split('&')
  for (var i = 0; i < hash.length; i++) {
    h = hash[i].split('=') //
    params[h[0]] = h[1]
    console.log(h)
  }
  return params
}

// 微信

function getWXOpenIdCode() {
  const a = document.createElement('a')
  a.href =
    'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx9041c6646fc2b682&redirect_uri=http://longfei.tenfell.cn/qrcode&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect'
  document.body.appendChild(a)
  a.click()
  document.body.removeChild(a)
}
// function payGzhWx(orderNo, cb) {
//   var that = this
//   const openId = store.getters.token
//   uni.request({
//     url: api.payGzhWx.url, // 仅为示例，并非真实接口地址。
//     method: 'POST',
//     data: {
//       'openid': openId,
//       'orderNo': orderNo
//     },
//     header: {
//       'Authorization': uni.getStorageSync('tokenHead') + uni.getStorageSync('token') // 自定义请求头信息
//     },
//     success: (res) => {
//       if (res.statusCode === 200) {
//         if (typeof WeixinJSBridge === 'undefined') {
//           if (document.addEventListener) {
//             document.addEventListener('WeixinJSBridgeReady', that.onBridgeReady(res.data, cb), false)
//           } else if (document.attachEvent) {
//             document.attachEvent('WeixinJSBridgeReady', that.onBridgeReady(res.data.data, cb))
//             document.attachEvent('onWeixinJSBridgeReady', that.onBridgeReady(res.data.data, cb))
//           }
//         } else {
//           that.onBridgeReady(res.data.data, orderNo, cb)
//         }
//       } else {
//         uni.showToast({
//           icon: 'none',
//           title: res.errMsg
//         })
//       }
//     },
//     fail(res) {
//       uni.showToast({
//         icon: 'none',
//         title: '支付失败,请重试~'
//       })
//       console.log(res)
//     }
//   })
// }
function tuneUpWX(data) {
  const param = {
    'appId': data.appId, // 公众号名称，由商户传入
    'timeStamp': data.timeStamp, // 时间戳，自1970年以来的秒数
    'nonceStr': data.nonceStr, // 随机串
    'package': data.package_str,
    'signType': data.signType, // 微信签名方式：
    'paySign': data.paySign // 微信签名
  }
  WeixinJSBridge.invoke(
    'getBrandWCPayRequest',
    param,
    function(res) {
      console.log('微信支付调用结果：' + JSON.stringify(res))
      alert('微信支付调用结果：' + JSON.stringify(res))
      if (res.err_msg === 'get_brand_wcpay_request:ok') {
        alert('支付成功')
        window.location.href = 'http://mall.jx.shanzhimoo.com/#/pages/payInfo/index'
      } else {
        alert('支付失败')
      }
    }
  )
}

// 支付宝

function getZFBUserIdCode() {
  const a = document.createElement('a')
  a.href = 'https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=2021001182654713&scope=auth_base&redirect_uri=http://longfei.tenfell.cn/qrcode'
  document.body.appendChild(a)
  a.click()
  document.body.removeChild(a)
}
function tuneUpZFB(tradeNO) {
  AlipayJSBridge.call(
    'tradePay',
    {
      tradeNO: tradeNO
    },
    function(data) {
      alert(JSON.stringify(data))
      if (data.resultCode === '9000') {
        Toast('支付成功')
        console.log('支付成功')
      } else if (data.resultCode === '8000') {
        Toast('正在处理中')
      } else if (data.resultCode === '4000') {
        Toast('订单支付失败')
      } else if (data.resultCode === '6001') {
        Toast('用户中途取消')
      } else if (data.resultCode === '6002') {
        Toast('网络连接出错')
      } else if (data.resultCode === '99') {
        Toast('用户点击忘记密码快捷界面退出')
      } else {
        Toast('支付失败,系统错误')
      }
    }
  )
}

export {
  judgeEnvironment,
  getWXOpenIdCode,
  getUrl,
  tuneUpWX,
  getZFBUserIdCode,
  tuneUpZFB
}
